package com.mengshu.security.properties;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.Serializable;

/**
 * 安全配置
 */
@Getter
@Setter
@ConfigurationProperties(prefix = SecurityProperties.PREFIX)
public class SecurityProperties implements Serializable {
    private static final long serialVersionUID = 8832036280795355438L;

    /**
     * 是否启用
     */
    private boolean enable = true;
    /**
     * 配置前缀
     */
    public static final String PREFIX = "mengshu.security";

    /**
     * 签名
     */
    private String sign = "sign";

    /**
     * 时间戳
     */
    private String timestamp = "timestamp";

    /**
     * sign参数加密key
     */
    private String paramEncryptKey = "ms_params_sign";

    /**
     * 时间戳有效时间 不配置默认 1小时
     * <p>
     * 例如 5s 五秒，6m 六分钟，7h 七小时，8d 八天
     */
    private String invalidTime = "1h";

    /**
     * 排除指定路径
     */
    private String excludes;

    /**
     * 忽略验签字段
     */
    private String hack = "hack";

}
